10 REM "[195][194][205] 64 [194]INAR/[194][195][196]/[200]EX [212]UTOR VERSION 2.02 15 V[178]53280:Z0%[178][194](V):Z1%[178][194](V[170]1):Z2%[178][194](646) 20 Z3%[178]([194](V[171]8)[175]7)[176][194](657):[151]V,6:[151]V[170]1,15:[153]"LOAD"[199](8)[199](14) 25 [153][163]14)" STOPNEWNEWNEWNEWNEWNEWNEWRND":[153][163]14)" STOPCOS  STOP WAITGET 30 PRINTTAB(14)" [144]  [144][162][162][162][162][146][190]":PRINTTAB(14)" ":PRINTTAB(14)" " 35 PRINTTAB(14)" [144]  [146][144][162]":PRINTTAB(14)" [144][187]  [144] [188]":PRINTTAB(17)"[144][162][162] [144][162][187] " 40 PRINTTAB(19)" [146] [144] ":PRINTTAB(19)" [146] [144] ":PRINTTAB(16)"[144][162][162][162] [146][144][162][190] " 45 PRINTTAB(16)"[144] [172]":PRINTTAB(16)"[144][162][162][162][162][162][162][162][162]":PRINTTAB(7)"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162] 50 [153][163]7)" 64 PEEKINARY/PEEKLENSTR$/LEFT$EX (null)UTOR " 55 [153][163]7)"NEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEW" 65 [153][163]8)"POKE((null)RESS (null)(null)ATNLENVALWAITPOKE TO CONTINUE) 70 GETA$:IFA$<>" "THEN 70 140 DIM A$(20) 150 A$="0123456789ABCDEF":CD$=" 160 [129]X[178]0[164]15:A$(X)[178][202](A$,X[170]1,1):[130]:X[178]0 165 [151]VC,9:[151]VC[170]1,15 170 [153]"LOAD":A[178]0 180 [153][163]17)"(null)ENUCMDCMDCMDCMDUSRUSRUSRUSR" 190 [153][163]9)"STR$EC,PEEKIN & PEEKLENSTR$.....POKEPEEK" 200 [153][163]9)"STR$EC,PEEKIN & LEFT$EX.....POKELEFT$" 210 [153][163]9)"VALXERCISES.........POKEVAL" 215 [153][163]9)"VALXIT..............POKE(null)" 218 [153][163]7)"POSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOSPOS 220 PRINTTAB(7)" [212]YPE IN [195]HOICE [210]EQUIRED [155][146]<" 222 PRINTTAB(7)"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][145][144]"; 224 VM=1024:VX=VM+999:CM=55296:CX=CM+999 230 POKEVM,240:POKECM,8:POKEVX,253:POKECX,8 240 FORX=1TO23:POKEVM+40*X,221:POKECM+40*X,8:POKEVX-40*X,221:POKECX-40*X,8 250 NEXT:POKEVM+39,238:POKECM+39,8:POKEVX-39,237:POKECX-39,8:FORX=1TO38 260 POKEVM+39-X,192:POKECM+39-X,8:POKEVX-39+X,192:POKECX-39+X,8:NEXT 270 GOSUB3200:B$=Z$ 278 POKEVC,9:POKE646,6 280 IFB$="H"ANDA=1THEN370 290 IFB$="B"ANDA=1THEN340 300 IFB$="H"ORB$="B"THEN420 305 POKEVC,10:POKE646,2 310 IFB$="E"THEN1860 315 IFB$<>"X"THEN270 317 POKEV,Z0%:POKEV+1,Z1%:POKEV+2,Z2%:POKEV-8,PEEK(V-8)AND248ORZ3%AND7:POKE657,Z3%AND128 319 PRINT"[147]";:END 330 GOSUB910:GOSUB1510:GOSUB3400 340 GOSUB1010:GOSUB1620:GOSUB1310:GOSUB1760 350 GOTO380 360 GOSUB910:GOSUB1110:GOSUB3400 370 GOSUB1010:GOSUB1210:GOSUB1310:GOSUB1410 380 POKE198,0 390 GOSUB3200:A$=Z$:IFA$=CHR$(13)THEN150 410 GOTO280 420 PRINT"[147]":X$="255":IFB$="B"THENX$="99" 430 PRINT" [193]T WHAT VALUE (1 TO ";X$;")[146] DO YOU WISH" 440 INPUT " TO START";ZZ 450 IFZZ=0THEN430 460 IFZZ>255THEN540 470 IFZZ>99ANDB$="B"THEN540 480 D=ZZ-1:F=3:GOSUB630:GOSUB2030 490 GOSUB2200:FORX=1TO8:C(X)=B(X):NEXT 500 GOSUB2110 510 IFB$="B"THEN330 520 IFB$="H"THEN360 540 PRINT"[206]UMBER TOO LARGE - PLEASE "; 550 PRINT"RE-ENTER.":GOTO430 560 PRINTLEFT$(CD$,11)TAB(15)"SORRY, WRONG! 570 [153][163]15)"PLEASE TRY AGAIN" 580 [129]X[178]1[164]2000:[130]:[137]1980 590 [153][200](CD$,11)[163]8)"WELL DONE! THATS RIGHT! 600 PRINT" NOW TRY ANOTHER ONE. 610 [129]X[178]1[164]2000:[130]:[137]1910 620 [143]** D TO D$ ROUTINE ** 630 D$[178][196](D) 640 D$[178][201](D$,[195](D$)[171]1) 650 D$[178][201]("00000000"[170]D$,F) 660 [129]X[178]F[164]1[169][171]1 670 D(X)[178][197]([202](D$,X,1)) 680 [130]:[142] 690 [151]VM[170]647,111:[151]VM[170]648,111:[151]VM[170]649,111 700 [151]VM[170]767,76 710 [151]VM[170]768,111:[151]VM[170]769,111:[151]VM[170]686,103 720 [151]VM[170]687,79 730 [151]VM[170]726,103:[151]VM[170]727,101:[151]VM[170]766,103 740 [151]VM[170]809,119 750 [151]VM[170]688,119:[151]VM[170]689,119:[151]VM[170]807,119 760 [151]VM[170]808,119 770 [129]X[178]1[164]10:[151]VM[170]728,131:[129]XX[178]1[164]255:[130] 780 [151]VM[170]728,3 790 [129]XX[178]1[164]255:[130]:[130]:[142] 800 [151]VM[170]407,111:[151]VM[170]408,111:[151]VM[170]409,111 810 [151]VM[170]527,76 820 [151]VM[170]528,111:[151]VM[170]529,111:[151]VM[170]446,103 830 [151]VM[170]447,79 840 [151]VM[170]486,103:[151]VM[170]487,101:[151]VM[170]526,103 850 [151]VM[170]569,119 860 [151]VM[170]448,119:[151]VM[170]449,119:[151]VM[170]567,119 870 [151]VM[170]568,119 880 [129]X[178]1[164]10:[151]VM[170]488,131:[129]XX[178]1[164]255:[130] 890 [151]VM[170]488,3 900 [129]XX[178]1[164]255:[130]:[130]:[142] 910 [153]"LOADRETURN (null)USRUSR(null)USRUSR(null)USRUSRFN":A[178]1 920 [153]" DEC FN CLOSEFN CLOSEFN CLOSEFN 930 PRINTTAB(6)" [204][175][175][204][175][175][204][175][175][165] 940 [153][163]6)" (null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSRFN" 950 [153]" BIN FN CLOSEFN CLOSEFN CLOSEFN CLOSEFN CLOSEFN CLOSEFN CLOSEFN CLOSEFN" 960 [153][163]6)" (null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDANDFN" 961 [153][163]6)" 128 64 32 16 8 4 2 1 " 970 [142] 1000 [143]** ROUTINE #2 ** 1010 [129]X[178]3[164]1[169][171]1 1020 [139]D(X)[178]9[167]D(X)[178]0:[130] 1030 [139]X[178]0[167]1050 1040 D(X)[178]D(X)[170]1:X[178]0:[130] 1050 [129]X[178]8[164]1[169][171]1 1060 [139]B(X)[178]1[167]B(X)[178]0:[130] 1070 [139]X[178]0[167][142] 1080 B(X)[178]B(X)[170]1:X[178]0:[130] 1090 [142] 1100 [143]** ROUTINE #3 ** 1110 [153]"RETURN (null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSRFN 1120 PRINT" HEX [165] [160][165] [160][165] [160][165] [160][165][160][160] 1130 [153][163]6)" (null)ANDAND(null)ANDAND(null)ANDAND(null)ANDANDFN 1140 RETURN 1200 REM** ROUTINE #4 ** 1210 FORX=4TO1STEP-1 1220 IFH(X)=15THENH$(X)="0":H(X)=0:NEXT 1230 IFX=0THENRETURN 1240 H(X)=H(X)+1:H$(X)=A$(H(X)+1):X=0:NEXT 1250 RETURN 1300 REM** ROUTINE #5 ** 1310 FORX=1TO3 1320 POKE(VM+248+(X*3)),D(X)+48:NEXT 1330 FORX=1TO8 1340 POKEVM+488+X*3,B(X)+48:NEXT 1350 IFD(1)=2ANDD(2)=5ANDD(3)=6THENGOSUB800 1360 RETURN 1400 REM** ROUTINE #6 ** 1410 FORX=1TO4 1420 IFH(X)>9THEN1460 1430 POKEVM+728+X*3,H(X)+48 1440 NEXT 1450 GOTO1310 1460 POKEVM+728+X*3,H(X)-9:NEXT 1470 RETURN 1500 REM** ROUTINE #7 ** 1510 PRINT"[142]"; 1520 PRINTTAB(6)"[142] [207][183][183][207][183][183][207][183][183][207][183][208][207][183][183][207][183][183][207][183][183][207][183][183][165]" 1530 PRINT" BCD [165] [160][165] [160][165] [160][165] [167][165] [160][165] [160][165] [160][165] [160][165]" 1540 PRINTTAB(6)" [204][175][175][204][175][175][204][175][175][204][175][186][204][175][175][204][175][175][204][175][175][204][175][175][165]" 1550 RETURN 1610 REM** ROUTINE #8 ** 1620 IFC(5)=1ANDC(8)=1THENC(5)=0:C(8)=0:GOTO1680 1630 FORX=8TO4STEP-1 1640 IFC(X)=1THENC(X)=0:NEXT 1650 IFX<5THENRETURN 1660 C(X)=C(X)+1:X=0:NEXT:RETURN 1670 GOTO1690 1680 IFC(1)=1ANDC(4)=1THEN1740 1690 FORX=4TO0STEP-1 1700 IFC(X)=1THENC(X)=0:NEXT 1710 IFX=0THENRETURN 1720 C(X)=C(X)+1:X=0:NEXT:RETURN 1730 RETURN 1740 FORX=1TO8:C(X)=0:NEXT:RETURN 1750 REM** ROUTINE #9 ** 1760 FORX=1TO8 1770 POKEVM+728+X*3,C(X)+48:NEXT 1780 IFD(1)=1ANDD(2)=0ANDD(3)=0THENGOSUB690 1790 RETURN 1850 REM** ROUTINE #10 ** 1860 PRINTLEFT$(CD$,10) 1870 PRINTTAB(5)"[196]EC TO [200]EX..1 [200]EX TO [196]EC..4" 1880 PRINTTAB(5)"[196]EC TO [194]IN..2 [194]IN TO [196]EC..5" 1890 PRINTTAB(5)"[196]EC TO [194][195][196]..3 [194][195][196] TO [196]EC..6" 1895 PRINTTAB(9)"[197]XIT..............[216]"; 1900 GOSUB3200:B$=Z$ 1905 IFB$="X"THEN160 1910 D=VAL(B$):IFD=0THEN1900 1920 IFD=1ORD=4THENF=4-(D>3):D=1024 1930 IFD=2ORD=5THENF=8+(D>3):D=255 1940 IFD=3ORD=6THENF=8+(D>3):D=99 1960 IFD<10THEN1900 1970 D=INT(D*(RND(0))) 1980 ONVAL(B$)GOTO2000,2010,2020,2480,2610,2680 1990 GOTO1900 2000 GOSUB2030:GOTO2310 2010 GOSUB2110:GOTO2310 2020 GOSUB2200:GOTO2310 2030 H(1)=INT(D/4096) 2040 H(2)=INT((D-H(1)*4096)/256) 2050 H(3)=INT((D-(H(1)*4096)-(H(2)*256))/16) 2060 H(4)=D-(H(1)*4096)-(H(2)*256)-(H(3)*16) 2070 H$(1)=A$(H(1)):H$(2)=A$(H(2)) 2080 H$(3)=A$(H(3)):H$(4)=A$(H(4)) 2090 H$(5)=H$(1)+H$(2)+H$(3)+H$(4) 2100 RETURN 2110 B(1)=INT(D/128):D1=B(1)*128 2120 B(2)=INT((D-D1)/64):D2=D1+B(2)*64 2130 B(3)=INT((D-D2)/32):D3=D2+B(3)*32 2140 B(4)=INT((D-D3)/16):D4=D3+B(4)*16 2150 B(5)=INT((D-D4)/8):D5=D4+B(5)*8 2160 B(6)=INT((D-D5)/4):D6=D5+B(6)*4 2170 B(7)=INT((D-D6)/2):D7=D6+B(7)*2 2180 B(8)=INT((D-D7)):D8=D6+B(8) 2190 RETURN 2200 D1=INT(D/10) 2210 D2=D-D1*10 2220 B(1)=INT(D1/8):E1=B(1)*8 2230 B(2)=INT((D1-E1)/4):E2=E1+B(2)*4 2240 B(3)=INT((D1-E2)/2):E3=E2+B(3)*2 2250 B(4)=INT(D1-E3) 2260 B(5)=INT(D2/8):E5=B(5)*8 2270 B(6)=INT((D2-E5)/4):E6=E5+B(6)*4 2280 B(7)=INT((D2-E6)/2):E7=E6+B(7)*2 2290 B(8)=INT(D2-E7) 2300 RETURN 2310 GOSUB2320:GOTO2370 2320 PRINT"[147]"; 2330 PRINTTAB(6)"[142] [207][183][183][207][183][183][207][183][183][207][183][183][207][183][183][165]":A=1 2340 PRINT" DEC [165][160][160][165][160][160][165][160][160][165][160][160][165][160][160][165] 2350 [153][163]6)" (null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDANDFN 2360 GOSUB3300:RETURN 2370 ZF=F:F=5:GOSUB630:F=ZF 2380 FORX=5TO1STEP-1:POKEVM+248+(X*3),D(X)+48 2390 NEXT 2400 GOSUB2750 2410 IFVAL(B$)<>1THEN 560 2420 FORX=0TO3 2430 IFC$(X)<>H$(X+1)THEN560 2440 NEXT:GOTO590 2460 FORX=1TO8:IFVAL(C$(X-1))<>B(X)THEN560 2470 NEXT:GOTO590 2480 PRINT"[147]"; 2490 GOSUB3050 2500 F=5:GOSUB630:GOSUB2030 2510 FORX=1TO4 2520 FORY=0TO15:IFH$(X)<>A$(Y)THENNEXT:GOTO2540 2530 H(X)=Y:Y=15:NEXT:Y=H(X) 2540 IFY<10THENY=Y+48:GOTO2560 2550 IFY>9THENY=Y-9 2560 H(X)=Y 2570 POKEVM+248+(X*3),H(X):NEXT:GOSUB2750 2580 FORX=1TO5 2590 IFVAL(C$(X-1))<>D(X)THEN560 2600 NEXT:GOTO590 2610 PRINT"[147]"; 2620 GOSUB3100 2630 F=5:GOSUB630:GOSUB2110 2640 FORX=1TO8 2650 B1(X)=B(X):B1(X)=B1(X)+48 2660 POKEVM+248+(X*3),B1(X):NEXT 2670 GOSUB2750:GOTO2580 2680 PRINT"[147]"; 2690 GOSUB1520 2700 F=5:GOSUB630:GOSUB2200 2710 FORX=1TO8 2720 B1(X)=B(X):B1(X)=B1(X)+48 2730 POKEVM+248+(X*3),B1(X):NEXT 2740 GOSUB2750:GOTO2580 2750 GOSUB3010 2760 Y=0 2770 FORX=1TO35:GETC$(Y):IFC$(Y)=""THENNEXT 2780 POKEVM+611+(Y*3),160 2790 IFC$(Y)<>""THEN2840 2800 FORX=1TO35:GETC$(Y):IFC$(Y)=""THENNEXT 2810 IFC$(Y)<>""THEN2840 2820 POKEVM+611+(Y*3),32:POKEVM+614+(Y*3),32 2830 GOTO2770 2840 IFC$(Y)=CHR$(13)THEN160 2850 IFC$(Y)=" "ANDY>0THENY=Y-1:GOTO2800 2860 ONVAL(B$)GOTO2900,2930,2930,2870,2870,2870 2870 IFC$(Y)="0"THEN2950 2880 IFVAL(C$(Y))=0THEN2990 2890 GOTO2950 2900 FORX=0TO15:IFC$(Y)=A$(X)THENX=20 2910 NEXT:IFX<20THEN2990 2920 GOTO2950 2930 IFC$(Y)="1"ORC$(Y)="0"THEN2950 2940 GOTO2990 2950 Y=Y+1:PRINTLEFT$(CD$,16)TAB(8); 2960 FORX=1TOY*3:PRINT"";:NEXT:PRINTC$(Y-1) 2970 IFY=FTHENRETURN 2980 L=VM+611+(Y*3) 2990 IFPEEK(L)>127THENPOKEL,PEEK(L)-128 3000 GOTO2770 3010 PRINTLEFT$(CD$,15); 3020 IFB$="2"THEN3100 3030 IFB$="3"THEN3140 3040 IFB$>"3"THEN3090 3050 PRINTTAB(6)"[142] [207][183][183][207][183][183][207][183][183][207][183][183][165] 3060 [153]" HEX FN FNCLOSECLOSEFNCLOSECLOSEFNCLOSECLOSEFNCLOSE 3070 PRINTTAB(6)" [204][175][175][204][175][175][204][175][175][204][175][175][165] 3080 [142] 3090 [141]2330:[142] 3100 [153][163]6)"RETURN (null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSR(null)USRUSRFN" 3110 [153]" BIN FN CLOSEFN CLOSEFN CLOSEFN CLOSEFN CLOSEFN CLOSEFN CLOSEFN CLOSEFN" 3120 [153][163]6)" (null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDAND(null)ANDANDFN" 3130 [142] 3140 [141]1520:[142] 3200 [151]198,0:[151]204,0 3210 [146]198,1:[161]Z$ 3220 [146]207,1,1:[151]204,1 3230 Z$[178][199]([198](Z$[170][199](0))[175]127):[142] 3300 [153][200](CD$,22)" NEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWWAIT" 3310 [153]"  SPACE TO ERASE, RETURN TO ABANDON " 3320 [153]" NEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWWAITON"; 3330 [142] 3400 [153][200](CD$,22)" NEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWWAIT" 3410 [153]"  SPACE TO INDEX, RETURN TO ABANDON " 3420 [153]" NEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWNEWWAITON"; 3430 [142]